#!/bin/bash

# 启动生产环境脚本
echo -e "\e[32m启动小说阅读应用生产环境...\e[0m"

# 确保目录存在
if [ ! -d "data" ]; then
    mkdir -p data
    echo -e "\e[33m已创建数据目录: data\e[0m"
fi

if [ ! -d "novels" ]; then
    mkdir -p novels
    echo -e "\e[33m已创建小说目录: novels\e[0m"
    echo -e "\e[33m请将TXT小说文件放入novels目录中\e[0m"
fi

# 检查data/novels.db是否存在，如果不存在，提示用户
if [ ! -f "data/novels.db" ]; then
    echo -e "\e[33m数据库文件不存在，首次运行将自动创建\e[0m"
fi

# 启动后端服务
echo -e "\e[36m正在启动后端服务...\e[0m"
cd server
nohup node src/app.js > ../data/server.log 2>&1 &
SERVER_PID=$!
cd ..

# 使用serve启动前端
echo -e "\e[36m正在启动前端服务...\e[0m"
if ! command -v serve &> /dev/null; then
    echo -e "\e[33m未找到serve命令，正在全局安装...\e[0m"
    npm install -g serve
fi

cd client
nohup serve -s build -l 3000 > ../data/client.log 2>&1 &
CLIENT_PID=$!
cd ..

echo -e "\e[32m应用已成功启动!\e[0m"
echo -e "\e[32m前端地址: http://localhost:3000\e[0m"
echo -e "\e[32m后端API地址: http://localhost:3001/api\e[0m"
echo -e "\e[32m服务进程ID: 后端=$SERVER_PID, 前端=$CLIENT_PID\e[0m"
echo -e "\e[32m日志文件: data/server.log, data/client.log\e[0m"
echo -e "\e[31m要停止服务，请运行: kill $SERVER_PID $CLIENT_PID\e[0m" 